1. Field
This disclosure relates to the field of correcting aerial or other natural imagery.
2. Background Art
Aerial imagery of the Earth can have an increased brightness and modified hue compared to a more natural looking image due to scattered light from the atmosphere. Weather conditions often give rise to a bias that needs to be corrected for in the final image. Even for images of the same land area, the bias can vary with time and viewing angle. It can vary even within a single image if different points in the image have sufficiently distinct viewing angles. Similar problems may also occur for other natural imagery, such as, but not limited to, photography of mountains or other natural settings.
A number of computational algorithms have been developed over the years to correct aerial images for atmospheric conditions. Models of light reflectance from the atmosphere and the ground have been developed. These approaches generally require input characterizing the physical environment giving rise to the light scattering. Example inputs include land materials, sun location and direction, or density of the atmosphere.
Other methods may not require input data characterizing the physical environment. One example method of correcting an image that does not require physical characterization of the environment is based on determining a “black point” for the image. A black point may be a point in an image that would be black in a natural image (e.g. a shadow) but in the actual image is not black due to light scattered from the atmosphere. In this method, an intensity value of the black point is determined and subtracted from the intensity of every other point in the image. By subtracting the intensity value, the black point may become truly black. In another example method, rather than subtracting the intensity value of the black point, the image can be corrected by stretching the range of possible intensity values as follows. An image with the possible pixel intensity range [0, 255] for example, the intensity value of each pixel may be stretched from the range between [black_point, 255] to [0, 255].